Today, many personal electronic devices come equipped with digital cameras. Often, these devices perform many functions, and, as a consequence, the digital image sensors included in these devices must often be smaller than sensors in conventional cameras. Further, the camera hardware in these devices often have smaller dynamic ranges and lack sophisticated features sometimes found in larger, professional-style conventional cameras such as manual exposure controls and manual focus. Thus, it is important that digital cameras in personal electronic devices be able to produce the most visually appealing images in a wide variety of lighting and scene situations with limited or no interaction from the user, as well as in the most computationally and cost effective manner possible.
One feature that has been implemented in some digital cameras to compensate for lack of dynamic range and create visually appealing images is known as “auto exposure.” Auto exposure (AE) can be defined generally as any algorithm that automatically calculates and/or manipulates certain camera exposure parameters, e.g., exposure time, gain, or f-number, in such a way that the currently exposed scene is captured in a desirable manner. For example, there may be a predetermined optimum brightness value for a given scene that the camera will try to achieve by adjusting the camera's exposure value. Exposure value (EV) can be defined generally as: log2N2/t, wherein N is the relative aperture (f-number), and t is the exposure time (i.e., “shutter speed”) expressed in seconds. Some auto exposure algorithms calculate and/or manipulate the exposure parameters such that a mean, center-weighted mean, median, or more complicated weighted value (as in matrix-metering) of the image's brightness will equal a predetermined optimum brightness value in the resultant, auto exposed scene.
Auto exposure algorithms are often employed in conjunction with image sensors having small dynamic ranges because the dynamic range of light in a given scene, i.e., from absolute darkness to bright sunlight, is much larger than the range of light that image sensors—such as those often found in personal electronic devices—are capable of capturing. In much the same way that the human brain can drive the diameter of the eye's pupil to let in a desired amount of light, an auto exposure algorithm can drive the exposure parameters of a camera so as to effectively capture the desired portions of a scene. The difficulties associated with image sensors having small dynamic ranges are further exacerbated by the fact that most image sensors in personal electronic devices are comparatively smaller than those in larger cameras, resulting in a smaller number of photons that can hit any single photosensor of the image sensor.
Auto exposure algorithms work to drive exposure parameters, thus, it is problematic when such auto exposure algorithms base their determinations on how to manipulate exposure settings solely on image parameters, e.g., scene luminance values, that are controlled by—or at least heavily influenced by—the sensor's current exposure settings. For example, in an outdoor scene that is brightly lit by the sun, the camera's auto exposure algorithm will act to shorten exposure time to the smallest possible value. However, if a human subject were to come into the center of the brightly-lit outdoor scene, the overall luminance levels of the scene would likely still be large enough that exposure times would remain at the smallest values, leaving the human subject's face in the center of the scene dark and underexposed.
Thus, there is need for systems, methods, and a computer readable medium for intelligently and dynamically setting a camera's exposure parameters in a visually pleasing way that is independent of the camera's current exposure settings and aware of—and capable of adapting to—the type of scene currently being exposed.